package com.example.base.system.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 定时任务表
 * </p>
 *
 * @author xiong
 * @since 2024-02-07
 */

@Data
@ApiModel(description = "定时任务表")
@TableName("sys_job")
public class SysJob implements Serializable {

    private static final long serialVersionUID = 1L;

        /**
    * 主键id
    */
    @TableId(value="id", type= IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Integer id;
    /**
    * 任务名称
    */
    @ApiModelProperty(value = "任务名称")
    private String jobname;
    /**
    * cron执行时间
    */
    @ApiModelProperty(value = "cron执行时间")
    private String cron;
    /**
    * tigger
    */
    @ApiModelProperty(value = "tigger")
    private String tigger;
    /**
    * 反射类
    */
    @ApiModelProperty(value = "反射类")
    private String clazz;
    /**
    * 备注
    */
    @ApiModelProperty(value = "备注")
    private String note;
    /**
    * 逻辑删除
    */
    @TableLogic
    @ApiModelProperty(value = "逻辑删除")
    private Integer deleted;
    /**
    * 创建时间
    */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createtime;
    /**
    * 更新时间
    */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updatetime;
    /**
    * 版本号
    */
    @ApiModelProperty(value = "版本号")
    private Integer version;
    /**
    * 执行类型
    */
    @ApiModelProperty(value = "执行类型")
    private String type;
    /**
    * 方法名称
    */
    @ApiModelProperty(value = "方法名称")
    private String methodname;
    /**
    * 分组名称
    */
    @ApiModelProperty(value = "分组名称")
    private String groupName;
    /**
    * 方法参数
    */
    @ApiModelProperty(value = "方法参数")
    private String params;

    /**
    * 任务状态
    */
    @ApiModelProperty(value = "任务状态")
    private String status;
    /**
    * 方法反射类
    */
    @ApiModelProperty(value = "方法反射类")
    private String methodclazz;
    /**
     * 注解名称
     */
    @ApiModelProperty(value = "注解名称")
    private String annotationName;

    @ApiModelProperty(value = "app名称")
    private String appName;

    private String appClass;

    @TableField(exist = false)
    private String appDesc;

}
